<?php

namespace app\ctrl;

/**
 * 处理
 */
class Macencry extends \app\ctrl\BaseController
{

    /**
     * 显示页面
     */
    public function index()
    {
        // 输出详情html内容
        $view = new \core\lib\View(VIEWS);
        return $view->render('macencry', ['v' => time(), 'url' => env('APP_BASEURL') . 'macencry/exec']);
    }

    /**
     * 处理批量提交的mac地址
     * 如果返回的是字符串，说明是有错误了
     */
    public function exec()
    {
        $params = post();
        $this->validate($params, [
            'macs' => 'require',
        ]);
        $macs = array_filter(explode("\n", $params['macs']));
        foreach ($macs as $mac) {
            $last[] = $this->generateMac($mac);
        }
        return $last;
    }

    /**
     * 对当个mac进行加密
     */
    private function generateMac(string $mac): array
    {
        // 大写，“:”改为“-”
        $macBak = $mac;
        $mac = strtoupper($mac);
        $mac = str_replace([':', '：'], '-', $mac);
        // 头尾加上盐值
        $salt = 'scgyl';
        // 两次MD5
        $mac = $salt . '-' . $mac . '-' . $salt;
        return ['mac' => $macBak, 'output' => md5($mac)];
    }
}